#ifndef CORE_DISK_H
#define CORE_DISK_H
#include "Hitable.h"
namespace RayTracer
{
	class Disk : public Hitable
	{
	public:
		Disk(const vec3& pos,const vec3& n,float r, std::shared_ptr<Material> mat)
			: position(pos),normal(n),radius(r), matPtr(mat) {}

		virtual bool Hit(const Ray& r, float t_min, float t_max, HitRecord& rec) const;
		bool BoundingBox(AABB& output_box) const { return false; }
	public:
		vec3& GetPosition() { return position; }
		float& GetRadius() { return radius; }
		vec3& GetNormal() { return normal; }
	private:
		vec3 position;
		float radius;
		vec3 normal;
		std::shared_ptr<Material> matPtr;
	};
}
#endif // !CORE_TRIANGLE_H
